/** layui-v2.4.5 MIT License By https://www.layui.com */
;!function(e) {
    "use strict";
    var t = document
      , o = {
        modules: {},
        status: {},
        timeout: 10,
        event: {}
    }
      , n = function() {
        this.v = "2.4.5"
    }
      , r = function() {
        var e = t.currentScript ? t.currentScript.src : function() {
            for (var e, o = t.scripts, n = o.length - 1, r = n; r > 0; r--)
                if ("interactive" === o[r].readyState) {
                    e = o[r].src;
                    break
                }
            return e || o[n].src
        }();
        return e.substring(0, e.lastIndexOf("/") + 1)
    }()
      , i = function(t) {
        e.console && console.error && console.error("Layui hint: " + t)
    }
      , a = "undefined" != typeof opera && "[object Opera]" === opera.toString()
      , u = {
        layer: "modules/layer",
        laydate: "modules/laydate",
        laypage: "modules/laypage",
        laytpl: "modules/laytpl",
        layim: "modules/layim",
        layedit: "modules/layedit",
        form: "modules/form",
        upload: "modules/upload",
        tree: "modules/tree",
        table: "modules/table",
        element: "modules/element",
        rate: "modules/rate",
        colorpicker: "modules/colorpicker",
        slider: "modules/slider",
        carousel: "modules/carousel",
        flow: "modules/flow",
        util: "modules/util",
        code: "modules/code",
        jquery: "modules/jquery",
        mobile: "modules/mobile",
        "layui.all": "../layui.all"
    };
    n.prototype.cache = o,
    n.prototype.define = function(e, t) {
        var n = this
          , r = "function" == typeof e
          , i = function() {
            var e = function(e, t) {
                layui[e] = t,
                o.status[e] = !0
            };
            return "function" == typeof t && t(function(n, r) {
                e(n, r),
                o.callback[n] = function() {
                    t(e)
                }
            }),
            this
        };
        return r && (t = e,
        e = []),
        layui["layui.all"] || !layui["layui.all"] && layui["layui.mobile"] ? i.call(n) : (n.use(e, i),
        n)
    }
    ,
    n.prototype.use = function(e, n, l) {
        function s(e, t) {
            var n = "PLaySTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/;
            ("load" === e.type || n.test((e.currentTarget || e.srcElement).readyState)) && (o.modules[f] = t,
            d.removeChild(v),
            function r() {
                return ++m > 1e3 * o.timeout / 4 ? i(f + " is not a valid module") : void (o.status[f] ? c() : setTimeout(r, 4))
            }())
        }
        function c() {
            l.push(layui[f]),
            e.length > 1 ? y.use(e.slice(1), n, l) : "function" == typeof n && n.apply(layui, l)
        }
        var y = this
          , p = o.dir = o.dir ? o.dir : r
          , d = t.getElementsByTagName("head")[0];
        e = "string" == typeof e ? [e] : e,
        window.jQuery && jQuery.fn.on && (y.each(e, function(t, o) {
            "jquery" === o && e.splice(t, 1)
        }),
        layui.jquery = layui.$ = jQuery);
        var f = e[0]
          , m = 0;
        if (l = l || [],
        o.host = o.host || (p.match(/\/\/([\s\S]+?)\//) || ["//" + location.host + "/"])[0],
        0 === e.length || layui["layui.all"] && u[f] || !layui["layui.all"] && layui["layui.mobile"] && u[f])
            return c(),
            y;
        if (o.modules[f])
            !function g() {
                return ++m > 1e3 * o.timeout / 4 ? i(f + " is not a valid module") : void ("string" == typeof o.modules[f] && o.status[f] ? c() : setTimeout(g, 4))
            }();
        else {
            var v = t.createElement("script")
              , h = (u[f] ? p + "lay/" : /^\{\/\}/.test(y.modules[f]) ? "" : o.base || "") + (y.modules[f] || f) + ".js";
            h = h.replace(/^\{\/\}/, ""),
            v.async = !0,
            v.charset = "utf-8",
            v.src = h + function() {
                var e = o.version === !0 ? o.v || (new Date).getTime() : o.version || "";
                return e ? "?v=" + e : ""
            }(),
            d.appendChild(v),
            !v.attachEvent || v.attachEvent.toString && v.attachEvent.toString().indexOf("[native code") < 0 || a ? v.addEventListener("load", function(e) {
                s(e, h)
            }, !1) : v.attachEvent("onreadystatechange", function(e) {
                s(e, h)
            }),
            o.modules[f] = h
        }
        return y
    }
    ,
    n.prototype.getStyle = function(t, o) {
        var n = t.currentStyle ? t.currentStyle : e.getComputedStyle(t, null);
        return n[n.getPropertyValue ? "getPropertyValue" : "getAttribute"](o)
    }
    ,
    n.prototype.link = function(e, n, r) {
        var a = this
          , u = t.createElement("link")
          , l = t.getElementsByTagName("head")[0];
        "string" == typeof n && (r = n);
        var s = (r || e).replace(/\.|\//g, "")
          , c = u.id = "layuicss-" + s
          , y = 0;
        return u.rel = "stylesheet",
        u.href = e + (o.debug ? "?v=" + (new Date).getTime() : ""),
        u.media = "all",
        t.getElementById(c) || l.appendChild(u),
        "function" != typeof n ? a : (function p() {
            return ++y > 1e3 * o.timeout / 100 ? i(e + " timeout") : void (1989 === parseInt(a.getStyle(t.getElementById(c), "width")) ? function() {
                n()
            }() : setTimeout(p, 100))
        }(),
        a)
    }
    ,
    o.callback = {},
    n.prototype.factory = function(e) {
        if (layui[e])
            return "function" == typeof o.callback[e] ? o.callback[e] : null
    }
    ,
    n.prototype.addcss = function(e, t, n) {
        return layui.link(o.dir + "css/" + e, t, n)
    }
    ,
    n.prototype.img = function(e, t, o) {
        var n = new Image;
        return n.src = e,
        n.complete ? t(n) : (n.onload = function() {
            n.onload = null,
            "function" == typeof t && t(n)
        }
        ,
        void (n.onerror = function(e) {
            n.onerror = null,
            "function" == typeof o && o(e)
        }
        ))
    }
    ,
    n.prototype.config = function(e) {
        e = e || {};
        for (var t in e)
            o[t] = e[t];
        return this
    }
    ,
    n.prototype.modules = function() {
        var e = {};
        for (var t in u)
            e[t] = u[t];
        return e
    }(),
    n.prototype.extend = function(e) {
        var t = this;
        e = e || {};
        for (var o in e)
            t[o] || t.modules[o] ? i("模块名 " + o + " 已被占用") : t.modules[o] = e[o];
        return t
    }
    ,
    n.prototype.router = function(e) {
        var t = this
          , e = e || location.hash
          , o = {
            path: [],
            search: {},
            hash: (e.match(/[^#](#.*$)/) || [])[1] || ""
        };
        return /^#\//.test(e) ? (e = e.replace(/^#\//, ""),
        o.href = "/" + e,
        e = e.replace(/([^#])(#.*$)/, "$1").split("/") || [],
        t.each(e, function(e, t) {
            /^\w+=/.test(t) ? function() {
                t = t.split("="),
                o.search[t[0]] = t[1]
            }() : o.path.push(t)
        }),
        o) : o
    }
    ,
    n.prototype.data = function(t, o, n) {
        if (t = t || "layui",
        n = n || localStorage,
        e.JSON && e.JSON.parse) {
            if (null === o)
                return delete n[t];
            o = "object" == typeof o ? o : {
                key: o
            };
            try {
                var r = JSON.parse(n[t])
            } catch (i) {
                var r = {}
            }
            return "value"in o && (r[o.key] = o.value),
            o.remove && delete r[o.key],
            n[t] = JSON.stringify(r),
            o.key ? r[o.key] : r
        }
    }
    ,
    n.prototype.sessionData = function(e, t) {
        return this.data(e, t, sessionStorage)
    }
    ,
    n.prototype.device = function(t) {
        var o = navigator.userAgent.toLowerCase()
          , n = function(e) {
            var t = new RegExp(e + "/([^\\s\\_\\-]+)");
            return e = (o.match(t) || [])[1],
            e || !1
        }
          , r = {
            os: function() {
                return /windows/.test(o) ? "windows" : /linux/.test(o) ? "linux" : /iphone|ipod|ipad|ios/.test(o) ? "ios" : /mac/.test(o) ? "mac" : void 0
            }(),
            ie: function() {
                return !!(e.ActiveXObject || "ActiveXObject"in e) && ((o.match(/msie\s(\d+)/) || [])[1] || "11")
            }(),
            weixin: n("micromessenger")
        };
        return t && !r[t] && (r[t] = n(t)),
        r.android = /android/.test(o),
        r.ios = "ios" === r.os,
        r
    }
    ,
    n.prototype.hint = function() {
        return {
            error: i
        }
    }
    ,
    n.prototype.each = function(e, t) {
        var o, n = this;
        if ("function" != typeof t)
            return n;
        if (e = e || [],
        e.constructor === Object) {
            for (o in e)
                if (t.call(e[o], o, e[o]))
                    break
        } else
            for (o = 0; o < e.length && !t.call(e[o], o, e[o]); o++)
                ;
        return n
    }
    ,
    n.prototype.sort = function(e, t, o) {
        var n = JSON.parse(JSON.stringify(e || []));
        return t ? (n.sort(function(e, o) {
            var n = /^-?\d+$/
              , r = e[t]
              , i = o[t];
            return n.test(r) && (r = parseFloat(r)),
            n.test(i) && (i = parseFloat(i)),
            r && !i ? 1 : !r && i ? -1 : r > i ? 1 : r < i ? -1 : 0
        }),
        o && n.reverse(),
        n) : n
    }
    ,
    n.prototype.stope = function(t) {
        t = t || e.event;
        try {
            t.stopPropagation()
        } catch (o) {
            t.cancelBubble = !0
        }
    }
    ,
    n.prototype.onevent = function(e, t, o) {
        return "string" != typeof e || "function" != typeof o ? this : n.event(e, t, null, o)
    }
    ,
    n.prototype.event = n.event = function(e, t, n, r) {
        var i = this
          , a = null
          , u = t.match(/\((.*)\)$/) || []
          , l = (e + "." + t).replace(u[0], "")
          , s = u[1] || ""
          , c = function(e, t) {
            var o = t && t.call(i, n);
            o === !1 && null === a && (a = !1)
        };
        return r ? (o.event[l] = o.event[l] || {},
        o.event[l][s] = [r],
        this) : (layui.each(o.event[l], function(e, t) {
            return "{*}" === s ? void layui.each(t, c) : ("" === e && layui.each(t, c),
            void (s && e === s && layui.each(t, c)))
        }),
        a)
    }
    ,
    e.layui = new n
}(window);
